package top.jacktgq.sxt.bio.udp.demo6;

import java.net.DatagramPacket;
import java.net.DatagramSocket;

/**
 * @Author CandyWall
 * @Date 2019/10/20--18:51
 * @Description UDP文件上传接收端：
 *                     1、使用DatagramSocket指定端口 创建接收端
 *                     2、准备容器 封装成DatagramPacket包裹
 *                     3、阻塞式接收包裹receive(DatagramPacket p)
 *                     4、分析数据 将字节数组还原为基本类型
 *                      byte[] getData()
 *                             getLenth()
 *                     5、释放资源
 */
public class UDPFileServer {
    public static void main(String[] args) throws Exception{
        System.out.println("接收方启动中...");
        //1、使用DatagramSocket指定端口 创建接收端
        DatagramSocket server = new DatagramSocket(9999);
        //2、准备容器 封装成DatagramPacket包裹
        byte[] container = new byte[1024*6];
        DatagramPacket packet = new DatagramPacket(container, 0, container.length);
        //3、阻塞式接收包裹receive(DatagramPacket p)
        server.receive(packet);
        //4、分析数据 byte[] getData() getLenth()
        byte[] data = packet.getData();
        int len = packet.getLength();
        IoUtils.byteArrayToFile(data, "icon/optimize1.png");

        //5、释放资源
        server.close();
    }
}
